package com.zx.crowdfunding.service.api;

import java.util.LinkedHashSet;
import java.util.List;

import com.zx.crowdfunding.entity.Menu;

/**
 * 菜单 - Service接口
 * @author 郑雪
 * @date 2021-12-09
 */
public interface MenuService {

	/**
	 * 查询全部
	 * @return Menu对象的List集合
	 */
	List<Menu> getAll();

	/**
	 * 添加菜单
	 * @param menu 菜单对象
	 */
	void saveMenu(Menu menu);
	
	/**
	 * 删除菜单
	 * @param idList 菜单id的List集合
	 */
	void removeMenu(List<Integer> idList);

	/**
	 * 根据id查询菜单
	 * @param id 菜单id
	 * @return Menu对象
	 */
	Menu getMenuById(Integer id);

	/**
	 * 修改菜单
	 * @param menu 菜单对象
	 */
	void editMenu(Menu menu);

	/**
	 * 添加菜单与权限的关联关系
	 * @param menuId 菜单id
	 * @param authIdList 权限id的List集合
	 */
	void saveMenuAuthRelationship(Integer menuId, List<Integer> authIdList);
	
	/** 
	 * 根据管理员id查询菜单
	 * @param adminId 管理员id
	 * @return 菜单对象的List集合
	 */
	LinkedHashSet<Menu> getMenuByAdminId(Integer adminId);
}
